//
//  CXHAdapterRewardVideoAdAdapter.h
//  CXHAdSDK-Adapter
//
//  Created by 陈坤 on 2025/2/24.
//

#import "CXHAdapterCommonAdapter.h"
#import "CXHAdapterRewardVideoAdRequestContext.h"
#import "CXHAdapterRewardVideoCallBack.h"
#import "CXHAdapterRewardVideoReportMark.h"


NS_ASSUME_NONNULL_BEGIN

@interface CXHAdapterRewardVideoAdAdapter : CXHAdapterCommonAdapter

@property (nonatomic, strong) CXHAdapterRewardVideoAdRequestContext *requestContext;

@property (nonatomic, weak) id<CXHAdapterRewardVideoCallBack> delegate;

- (instancetype)init NS_UNAVAILABLE;

- (instancetype)new NS_UNAVAILABLE;

- (instancetype)initWithPlatformPosModel:(CXHAdSDKPosModel *)posModel
                                  userID:(NSString *)userID
                                  scenes:(NSDictionary *)scenes
                                 cacheId:(NSString *)cacheId
                       customLoadingPage:(BOOL)customLoadingPage
                            platformType:(NSString *)platformType videoMuted:(BOOL)videoMuted;

- (void)sendFinishReportWithMark:(CXHAdapterRewardVideoReportMark *)mark urlList:(NSArray<NSString *> *)urlList;

- (void)sendRewardReportWithMark:(CXHAdapterRewardVideoReportMark *)mark urlList:(NSArray<NSString *> *)urlList;

- (void)sendThreeQuarterReportWithMark:(CXHAdapterRewardVideoReportMark *)mark urlList:(NSArray<NSString *> *)urlList;

- (void)sendHalfReportWithMark:(CXHAdapterRewardVideoReportMark *)mark urlList:(NSArray<NSString *> *)urlList;

- (void)sendQuarterReportWithMark:(CXHAdapterRewardVideoReportMark *)mark urlList:(NSArray<NSString *> *)urlList;

- (void)sendPlayStartReportWithMark:(CXHAdapterRewardVideoReportMark *)mark urlList:(NSArray<NSString *> *)urlList;

- (void)sendPlayPauseReportUrlList:(NSArray<NSString *> *)urlList;

- (void)sendPlaySkipReportUrlList:(NSArray<NSString *> *)urlList;

- (void)sendPlayRecoverReportUrlList:(NSArray<NSString *> *)urlList;

- (void)sendPlayCloseReportUrlList:(NSArray<NSString *> *)urlList;

- (void)sendPlayingMutedReportUrlList:(NSArray<NSString *> *)urlList;

@end

NS_ASSUME_NONNULL_END
